1. Field of the Invention
The present application relates to communications networks and in particular a system and method to equalize transmission delays in such networks.
2. Description of the Background of the Invention
In a communication network such as an Ethernet network or an 802.11 wireless network, data transmitted from a transmitting device to a receiving device are generally divided into small payloads. The transmitting device creates a packet that includes additional information such as the network addresses of the transmitting and receiving devices and control information such as a sequence number and error correction codes in addition to the payload. Thereafter the transmitting device sends the packet over a wired or wireless medium to a receiving device. Upon receiving the packet, the receiving devices extracts the payload from the packet and combines such payload with other previously received payloads in accordance with the sequence number to reconstruct all of the data being sent.
In some communication networks, the receiving device sends an acknowledgement packet having acknowledgement data to the transmitting devices for each received data packet. If the transmitting device does not receive such an acknowledgement packet associated with a particular data packet within a predetermined period of time, the transmitting device may resend the data packet. The receiving device may also send a resend packet to the transmitting device to indicate that a corrupt packet was received and such packet should be resent.
The number of times a particular packet needs to be resent and the elapsed time, or transmission delay, between the first transmission of such packet and successful receipt of the packet by the receiving device, depends on a number of factors. Such factors include collisions with other packets sent by other devices at the same time the particular packet is sent and interference from other devices operating in the vicinity of the network. Because of such transmission delay, the order in which a transmitting device transmits packets may not be identical to the order in which such packets are received by a receiving device.
Some applications require packets to be available at predetermined times so that the data transmitted by such payloads may be processed efficiently. For example, an application that displays streamed video requires data associated with the video to be available when needed for presentation. If such data are not available when needed, the quality of the video may suffer or in some cases the video presentation may stall until sufficient data are received.
Improving the predictability of when transmitted packets will be available to an application operating on a receiving device can avoid unwanted interruptions in streamed data. Such improved predictability may also be useful in applications using non-streamed data.
Lee, U.S. Pat. No. 7,920,475, is directed to systems and method for adaptive removal of delay jitter effect and low end-to-end delay. The abstract of Lee recites “[s]ystems, modules, methods and computer readable mediums for adaptive removal of delay jitter and low end-to-end delay are provided. The method may include the following operations at a delay buffer: calculating a holding time for a plurality of packets input into a network; buffering each of the plurality of packets for the duration of the holding time; and arranging the buffered packets in a sequence indicative of an order in which the buffered packets were input into the network. The holding time may be based on a difference between a current maximum delay of the plurality of packets in a current time window and a delay of a first packet of the plurality of packets in the current time window. The method may also include playing back the buffered packets at a selected playback time. Playing back the buffered packets may be performed at a reception mechanism.” The entire contents of U.S. Pat. No. 7,920,475 are incorporated herein by reference.
Oran, U.S. Pat. No. 7,936,695, discloses a router, switch, or a network node that generates reports of packet level statistics and information for a media stream. The abstract of this patent states a “router, switch, or other network node generates reports that contain packet level statistics and other information for a monitored media stream. The media stream reports reduce the amount of bandwidth typically required for sending monitored media stream information back to a central analysis device. However the computation of other media stream analytics, such as long term statistical averaging or quality metric computation, is performed by the central analysis device to remove some of the processing burden from the individual network nodes.” The entire contents of U.S. Pat. No. 7,936,695 are also incorporated herein by reference.
Oran, U.S. Pat. No. 8,023,419, is directed to a packet filter that identifies multimedia packets associated with a particular media stream. The abstract of such patent states “a packet filter (or “trap”) is installed on one or more interfaces of a router, switch (intermediary) or other node in an IP network that identifies multimedia packets for a particular media stream. A packet replicator (or “cloner”) duplicates the identified packets allowing the original packets to continue through the IP network. A forwarder (“tunneler”) encapsulates and sends the cloned media packets to a central facility where the tunneled media stream is further analyzed.” The entire contents of U.S. Pat. No. 8,023,419 are also incorporated herein by reference.
Gou et al., U.S. Pat. No. 7,499,446, discloses using a Real Time Transmission Protocol (RTP) to embed MPEG packets within RTP packets. The abstract of Gou et al. recites “[t]he present invention addresses the issue of jitter and clock drifting in streaming media applications. The present invention utilizes the Real Time Transaction Protocol (RTP) to embed MPEG packets within RTP packets in a Multiple Program Transport Stream (MPTS). Each MPEG packet in an MPTS stream is tagged at a gateway with: an arrival timestamp, a per-flow index and internal index to identify where the packet resides in an RTP packet and within a stream. After demultiplexing, this information is utilized in conjunction with the sending timestamp of each RTP packet to create a sending time for each MPEG packet to aid in the reduction of jitter and clock drifting.” The entire contents of U.S. Pat. No. 7,499,446 are also incorporated herein by reference.
Cloutier et al., U.S. Pat. No. 5,805,602, is directed to a network monitoring system for cell delay variation. The abstract of Cloutier et al. recites “[A]n arrangement (apparatus and method) for monitoring jitter caused during transport of digitally-coded information in a packet switched network, and for managing network operations in accordance with the detected jitter. The detected jitter is used to determine whether corrective action is necessary, such as rerouting network traffic, or performing network maintenance. The disclosed arrangement detects program clock reference (PCR) values from an MPEG-encoded transport stream, whereby each pair of PCR values represents an expected arrival time of a corresponding stream segment. An actual arrival time for the corresponding stream segment is determined in response to detection of the corresponding PCR values and an independent clock signal. The expected arrival time of the stream segment and the actual arrival time are correlated with an accumulation of expected and actual [arrival times] of previously-received data packet stream segments in order to determine the jitter in the digital data stream. The jitter is corrected by a combination of adaptive buffering techniques and restamping the PCR value with corrected values coinciding with the actual arrival time of the stream segments.” The entire contents of U.S. Pat. No. 5,805,602 are also incorporated herein by reference.
Barry et al., U.S. Pat. No. 7,693,130, is directed to an apparatus and method for synchronizing distribution of packet information. The abstract of Barry et al. recites “[A]n apparatus and method are described for synchronizing distribution of packet information. In one embodiment, the invention includes timestamp processing logic to process a transmit time indicator embedded within the packet information, where the transmit time indicator is based on a time reference, and service synchronization queuing logic to hold the packet information until a time offset after the transmit time indicator, where the service synchronization queuing logic is synchronized to the time reference.” The entire contents of U.S. Pat. No. 7,693,130 are also incorporated herein by reference.
Kish et al., U.S. Pat. No. 7,787,436, is directed to an access point that converts a multicast or broadcast packet into a unicast packet directed to a station associated with the access point. The abstract of Kish et al. recites “[A]n access point of a communications network is configured to receive a multicast or broadcast packet from a source. The access point converts the multicast or broadcast packet into a unicast packet addressed to a station associated with the access point. The access point then transmits the unicast packet over the communications network from the access point to the station. The access point further may determine a minimum data rate by which the access point may transmit the multicast or broadcast packet to the station and determines an effective unicast rate for transmitting the unicast packet to the station. If the effective unicast rate does not exceed the minimum data rate, the access point does not transmit the unicast packet to the station and transmits the multicast or broadcast packet.” The entire contents of U.S. Pat. No. 7,787,436 are also incorporated herein by reference.
The entire contents of Birlik, U.S. Provisional Application 61/612,747, filed Mar. 19, 2012, are incorporated herein by reference.
All documents such as user manuals and data sheets found at the following URLs are incorporated in their entirety by reference:                http://www.airties.com/product-details.asp?pn=Air 5440&i=2&ci=104&cat1=Wireless+Products+&cat2=Wireless+DSL+Modem%2FGateways&dil=eng        http://www.airties.com/product-details.asp?Dn=Air%204420&i=2&ci=104&cat1=Wireless+Products+&cat2=AP%2FRouter%2C+Mesh+point%2C+Disk+%26+Print+Server&dil=eng        